In diesem kleinen Tutorial werden wir eine Tabelle mit dem Namen "Personen" erstellen und mit dieser arbeiten.


Zunächst binden wir die PostgreSQL-Library mit der Präprozessor-Anweisung @INCLUDE ein.


Dieser kleine Code meldet den Benutzer "test" bei der Datenbank "postgres" an.

Bitte passen Sie die Benutzerdaten Ihren Gegebenheiten an.


In diesem Beispiel läuft die Datenbank lokal auf meinem Rechner und lauscht an Port 5432.

Sollte die Datenbank nicht auf Ihren Rechner laufen, sondern beispielsweise auf einem anderen Rechner im lokalen Netzwerk, müsse Sie "localhost" gegen dessen IP austauschen.


Dies gilt übrigens für alle weiteren Beispiele!


/****************************************************************

**                                                             **

** Name:        Einfaches Tutorial                             **

** Author:      Michael Suther                                 **

** Date:        27.04.19                                       **

** Interpreter: Hollywood 8.0                                  **

** Function:    A simple example                               **        

**                                                             **

**                                                             **

****************************************************************/



@INCLUDE "PostgreSQL_Lib.hws"


Block        

       Local Fail, ConnectionID

       Local Errorcode

       Local Host$ = "localhost"

       Local Port = 5432

       Local Database$ = "postgres"

       Local Username$ = "test"

       Local Passwort$ = "test"

               

       ;registration

       Fail, ErrorCode, ConnectionID = PG:OpenDatabase(Host$, Port, Database$, Username$, Passwort$)

       

       ; Evaluating the Return values

       If Fail = False 

               NPrint("")

               NPrint("Connection was successfully established.")

               NPrint("----------------------------------------")

       Else

               NPrint("")

               NPrint("The connection failed.")

               NPrint("")

               NPrint("Error code:  ", ErrorCode)

               End

       EndIf




Nachdem wir uns erfolgreich bei der Datenbank angemeldet haben erstellen wir unsere erste eigene Tabelle.


Tabelle Personen:

Vorname

Typ: text

Name

Typ: text

Alter

Typ: int4



        ;The SQL query

       Local SQL$ = "CREATE TABLE Personen (Vorname text, Name text, Alter int4)"

       

       ;Create a new table

       Fail, Errorcode = PG:SimpleUpdate(SQL$, ConnectionID)

       

       ; Evaluating the Return values

       If Fail = False 

               NPrint("")

               NPrint("Table was created.")

               NPrint("")

               NPrint("")

       Else

               NPrint("")

               NPrint("Create Table failed.")

               NPrint("")

               NPrint("Error code:  ", ErrorCode)

       EndIf



Nun wird es zeit die Tabelle mit Daten zu füllen.

Der folgende Code fügt der Tabelle drei Personen hinzu.


       ;Write data To the table

       Fail, Errorcode = PG:SimpleUpdate("INSERT INTO Personen VALUES ('Michael', 'Mustermann', 34)", ConnectionID)

       ;Evaluating the Return values

       If Fail = False

               NPrint("Database update successful - First person added.")

               NPrint("")

       Else

               NPrint("INSERT INTO people failed.")

               NPrint("Error code:  ", ErrorCode)

       EndIf

       Fail, Errorcode = PG:SimpleUpdate("INSERT INTO Personen VALUES ('Thomas', 'Mustermann', 48)", ConnectionID)

       ;Evaluating the Return values

       If Fail = False 

               NPrint("Database update successful - Second person added.")

               NPrint("")

       Else

               NPrint("INSERT INTO people failed.")

               NPrint("Error code:  ", ErrorCode)

       EndIf

       Fail, Errorcode = PG:SimpleUpdate("INSERT INTO Personen VALUES ('Frank', 'Testmann', 27)", ConnectionID)

       ;Evaluating the Return values

       If Fail = False 

               NPrint("Database update successful - Third person added.")

               NPrint("")

               NPrint("")

       Else

               NPrint("INSERT INTO people failed.")

               NPrint("Error code:  ", ErrorCode)

       EndIf



Die folgenden Code-Zeilen beinhalten eine einfache Suche in der Datenbank.

Wir lassen uns alle Personen anzeigen die 48 Jahre alt sind.


        ;Lists all persons 48 years old.

       Local SQL$ = "SELECT * FROM Personen WHERE Alter = 48"

       Fail, Errorcode, fields, Result = PG:SimpleQuery(SQL$, ConnectionID)

       

       ; Evaluating the Return values

       If Fail = False

               NPrint("Find entries with people who are 48 years old.")

               NPrint("")

               NPrint("Search result")

               NPrint("")

               items = TableItems(Result)

               For i = 0 To items-1 Step fields

                       For a = 1 To fields

                               Print(Result[i + a-1], "   ")

                       Next

                       NPrint("")

               Next                

       Else

               NPrint("Query failed.")

               NPrint("Error code:  ", ErrorCode)

       EndIf



Als letztes machen wir alles wieder Rückgängig und löschen die Tabelle.

Wenn Sie mit der Tabelle weiter arbeiten möchten, lassen Sie den letzten Schritt einfach aus.


Das gesamte Code-Beispiel finden Sie auch im Archive als Hollywood-Script.


        ;Delete the table

       Local SQL$ = "DROP TABLE Personen;"

       Fail, Errorcode = PG:SimpleUpdate(SQL$, ConnectionID)

       

       ; Evaluating the Return values

       If Fail = False 

               NPrint("")

               NPrint("")

               NPrint("Table has been deleted")

       Else

               NPrint("DROP table failed.")

               NPrint("Error code:  ", ErrorCode)

       EndIf

       

       WaitLeftMouse

       

       ;Close connection To the database.

       PG:CloseDatabase(ConnectionID)        

               

EndBlock



Wenn Sie alles richtig gemacht haben, sollte die Programmausgabe wie folgt aussehen (Windows10):



Mit dem Personal Edition von HelpNDoc erstellt: Gratis CHM-Hilfedokumentationsgenerator